﻿using System;
using System.Collections.Generic;
using Algoritmia.DataStructures.Digraphs;

namespace Algoritmia.Problems.Traversals
{
    public interface IGraphBreadthFirstTraverser<TVertex,TResult> : IGraphTraverser<TVertex,TResult>
    {
        IEnumerable<TResult> TraverseFromSome(IDigraph<TVertex> g, IEnumerable<TVertex> sources,
                                              Func<TVertex, TVertex, TResult> preVisitor = null);

    }
}
